<template>
  <div class="audition260">
    <p>redux分为三大块：store , action , reducer。它的设计原则是：</p>
    <p>1. 单一数据源：整个应用的 state被储存在唯一一个 store中</p>
    <p>2. 状态是只读的: Store.state不能直接修改（只读），必须调用dispatch(action) => store.reducer => return newState；action是一个对象，有type（操作类型）和payload（新值）属性</p>
    <p>3. 状态修改均由纯函数完成: 在Redux中，通过纯函数reducer来确定状态的改变，因为reducer是纯函数，所以相同的输入，一定会得到相同的输出，同时也不支持异步；返回值是一个全新的state</p>
    <hr>
    <p>vuex也分为三大块：state , mutations(commit) , actions(dispatch)。它的设计原则是：</p>
    <p>1. 单一数据源： 全局只有一个store实例</p>
    <p>2. Mutations必须是同步事务</p>
    <p>3. Actions负责处理异步事务，然后在异步回调中触发一个或多个mutation</p>
    <p>4. 模块化通过module方式来处理，这个跟Redux-combineReducer类似，在应用中可以通过namespaceHelper来简化使用</p>
  </div>
</template>

<script>
export default {
  name: 'Audition260'
}
</script>

<style>

</style>